load("@io_bazel_rules_go//go:def.bzl", "go_library")
load("//bazel/go:go_test.bzl", "go_test")

go_library(
    name = "upgrade",
    srcs = [
        "helm.go",
        "upgrade.go",
    ],
    importpath = "github.com/edgelesssys/constellation/v2/e2e/internal/upgrade",
    visibility = ["//e2e:__subpackages__"],
    deps = [
        "//internal/api/attestationconfigapi",
        "//internal/config",
        "//internal/constants",
        "//internal/file",
        "//internal/imagefetcher",
        "//internal/logger",
        "//internal/semver",
        "//internal/versions",
        "@com_github_spf13_afero//:afero",
        "@com_github_stretchr_testify//require",
        "@io_bazel_rules_go//go/runfiles",
        "@io_k8s_apimachinery//pkg/apis/meta/v1:meta",
        "@io_k8s_client_go//kubernetes",
        "@sh_helm_helm_v3//pkg/action",
        "@sh_helm_helm_v3//pkg/cli",
    ],
)

go_test(
    name = "upgrade_test",
    srcs = ["upgrade_test.go"],
    # keep
    count = 1,
    data = [
        "//cli:cli_enterprise_host",
    ],
    embed = [":upgrade"],
    env = {
        "PATH_CLI": "$(rlocationpath //cli:cli_enterprise_host)",
    },
    # keep
    gotags = ["e2e"],
    tags = ["manual"],
    deps = [
        "//e2e/internal/kubectl",
        "//internal/constants",
        "//internal/versions",
        "@com_github_stretchr_testify//assert",
        "@com_github_stretchr_testify//require",
        "@io_k8s_api//core/v1:core",
        "@io_k8s_apimachinery//pkg/apis/meta/v1:meta",
        "@io_k8s_client_go//kubernetes",
    ],
)
